// libs 项目中 库，类，属性等 定义和引入，减少直接在main.js代码操作
import Vue from 'vue';
// ElementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// 注册 elementUI
Vue.use(ElementUI, { size: 'small' });

// 自定义全局组件
import globalComponents from '@/components/index.js';
Vue.use(globalComponents);

// ** ---------- plugins ---------- **
// dayjs插件
import dayjs from './plugins/time';
Vue.use(dayjs);

// modal插件
import modal from './plugins/modal';
Vue.use(modal);
// ** ---------- plugins End---------- **

// 全局定义属性
import * as utils from './utils';
import * as accessToken from './accessToken';
// 懒加载定义 -- 使用时加载，减少初始加载时间
Object.defineProperty(Vue.prototype, '$utils', {
  get() {
    return { ...utils, ...accessToken };
  }
});

// 直接定义赋值 -- 适用于频繁使用
import {checkAuth,checkRole} from './verity-auth'
Vue.prototype.$checkAuth = checkAuth
Vue.prototype.$checkRole = checkRole